Embedded coupled hidden markov model

ABSTRACT

An arrangement is provided for embedded coupled hidden Markov model. To train an embedded coupled hidden Markov model, training data is first segmented into uniform segments at different layers of the embedded coupled hidden Markov model. At each layer, a uniform segment corresponds to a state of a coupled hidden Markov model at that layer. An optimal segmentation is generated at the lower layer based on the uniform segmentation and is then used to update parameters of models associated with the states of coupled hidden Markov models at lower layer. The updated model parameters at the lower layer are then used to update the model parameters associated with states at the super layer.

BACKGROUND

[0001] A hidden Markov model (HMM) was traditionally used to model one dimensional data for the purposes of pattern recognition. For example, HMMs have been widely used in speech recognition. Speech signals are inherently one dimensional. In speech processing, HMM can be used to model phonemes, words, or even phrases. One of the important characteristics of HMM is its ability to cope with variations in time and in feature space simultaneously, allowing to model data with variations along different dimensions. For example, different people may speak English with different accents. A particular person may speak with different acoustic features at different times. When HMM models are trained based on speech from different speakers at different times, derived HMM models may capture the intrinsic features of the speech and provide models that can tolerate different degrees of variation.

[0002] Many pattern recognition problems arise from data residing in a space of higher dimension. For example, identifying a specific object from an image may be a pattern recognition task performed in a two-dimensional (at least) feature space. Detecting the regularity of the heart beat rhythm of a patient from a series of three dimensional heart images reconstructed based on computerized tomography (CT) scans over time may be a pattern recognition problem in a four dimensional space.

[0003] Some efforts have been made to extend one-dimensional HMM to more complex structures. For example, a coupled hidden Markov model (CHMM) has been proposed to model two-dimensional data. In CHMM, two one-dimensional HMMs are coupled so that states from one HMM can transit to states of the other HMM. Transition probabilities among states are computed in view of the two-dimensional configuration of the HMMs.

BRIEF DESCRIPTION OF THE DRAWINGS

[0004] The inventions claimed and/or described herein are further described in terms of exemplary embodiments. These exemplary embodiments are described in detail with reference to the drawings. These embodiments are non-limiting exemplary embodiments, in which like reference numerals represent similar parts throughout the several views of the drawings, and wherein:

[0005]FIG. 1 depicts an exemplary architecture of an embedded coupled hidden Markov model (ECHMM), according to embodiments of the present invention;

[0006]FIG. 2 describes an exemplary coupled HMM, according to embodiments of the present invention;

[0007]FIG. 3 illustrates an exemplary application of ECHMM to face recognition, according to embodiments of the present invention;

[0008]FIG. 4 is a flowchart of an exemplary process, in which Viterbi algorithm is applied to a CHMM to achieve optimal segmentation, according to embodiments of the present invention;

[0009]FIG. 5 is a flowchart of an exemplary process, in which an embedded coupled HMM is trained using training data, according to embodiments of the present invention;

[0010]FIG. 6 depicts an architecture, in which ECHMM is applied to a pattern recognition problem, according to embodiments of the present invention; and

[0011]FIG. 7 is a flowchart of an exemplary process, in which ECHMMs are derived based on training data and applied to pattern recognition tasks, according to embodiments of the present invention.

DETAILED DESCRIPTION

[0012] The processing described below may be performed by a properly programmed general-purpose computer alone or in connection with a special purpose computer. Such processing may be performed by a single platform or by a distributed processing platform. In addition, such processing and functionality can be implemented in the form of special purpose hardware or in the form of software or firmware being run by a general-purpose or network processor. Data handled in such processing or created as a result of such processing can be stored in any memory as is conventional in the art. By way of example, such data may be stored in a temporary memory, such as in the RAM of a given computer system or subsystem. In addition, or in the alternative, such data may be stored in longer-term storage devices, for example, magnetic disks, rewritable optical disks, and so on. For purposes of the disclosure herein, a computer-readable media may comprise any form of data storage mechanism, including such existing memory technologies as well as hardware or circuit representations of such structures and of such data.

[0013]FIG. 1 depicts an exemplary architecture of an embedded couple hidden Markov model (ECHMM) 100, according to embodiments of the present invention. The ECHMM 100 may correspond to a hierarchical statistical model, comprising a plurality of layers (two layers are shown in the exemplary embodiment depicted in FIG. 1). Each of the layers may include a plurality of coupled HMM (CHMM). The number of layers in the ECHMM 100 may be correlated with, but is not limited to, the dimension of the underlying data that it attempts to model. For example, if the underlying data is a two-dimensional image, the ECHMM designed to model the image may have two layers. Theoretically, the number of layers in an ECHMM is not limited.

[0014] The ECHMM 100 corresponds to an exemplary two-layer architecture. There is a child layer 140 of CHMMs, on which a parent layer CHMM 110 is based. In this exemplary embodiment, the child layer 140 and the parent layer 110 may be designated to be responsible for covering data along directions that are perpendicular to each other. In one embodiment, each of the CHMMs at the child layer 140 may be aligned along horizontal direction 170 while a CHMM at the parent layer 110 may be aligned along the vertical direction 100 of the data. However, there may be other different embodiments to align individual layers of CHMM with the underlying data.

[0015] At a lower layer of an ECHMM, there may be more CHMMs than that at higher layer(s). In one embodiment of the present invention, top layer may have only one CHMM. A plurality of lower layer CHMMs may be embedded within a particular higher layer CHMM. For example, in FIG. 1, there are more than one child layer CHMMs that are embedded within a single parent layer CHMM. In general, there can be an arbitrary number of layers with each pair of adjacent layers relating to each other as parent and child layer.

[0016] Each CHMM is a HMM with a plurality of channels. Each channel may have a plurality of states. Different channels are coupled in the sense that states in one channel may transit to the states in another channel. For example, a child CHMM at the child layer 140 in FIG. 1 has two channels 150 (child channels) and each channel has more than one child states 160. The super layer 110 has two super channels 120, each of which may have a plurality of super states 130. The CHMMs at each layer may be designed uniformly. That is, CHMMs at the same layer may all have the same number of channels, each of which may have the same number of states. A different embodiment is to have a non-uniform design. The choice of design may be determined according to the nature of the data to be modeled or according to application needs.

[0017] In the illustrated embodiment of the present invention, each state within a parent channel at the parent layer may correspond to a CHMM at the child layer. That is, an entire CHMM at the child layer is embedded in one state at the parent layer. With this embodiment, the number of states at the parent layer (total number of state across all channels of parent CHMM) may correspond to the number of CHMMs at the child layer.

[0018] According to the illustrated embodiment of the ECHMM 100, each of the CHMM may comprise two channels, each of which may include a plurality of states. This model may inherit the partial size invariance of the hidden Markov model (HMM) or coupled HMM. A coupled HMM (CHMM), due to its pseudo two-dimensional structure, may be used to model two-dimensional data such as images. Such two-dimensional data may have intrinsic semantics to be modeled. For example, a two-dimensional image may represent a human face. Models such as CHMM or ECHMM may be employed to model visual characteristics of human faces for recognition purposes.

[0019] One embodiment of a CHMM is illustrated below. A CHMM may correspond to a generalization of a HMM. A CHMM may comprise a collection of HMMs, each of which corresponds to a data channel. FIG. 2 illustrates a two-channel CHMM containing a channel 1 210 and a channel 2 220. The squares represent the hidden discrete nodes while the circles describe the continuous observable nodes. Each channel forms an individual HMM with a sequence of states. For example, channel 1 210 has states S(1,1), . . . , S(1,i), . . . , and channel 2 220 has states S(2,1), . . . , S(2,i), . . . , where states in each channel may transit from one to another with certain transit probabilities. In addition, states from channel 1 210 may also transit to states in channel 2 220 with certain transit probabilities. The discrete nodes at time t for each HMM are conditioned by the discrete nodes at time t−1 of all the related HMMs in different channels.

[0020] Let C be the number of channels of a CHMM, and i=[i₁, . . . , i_(c)] be the state vector describing the state of the hidden nodes in channels 1, . . . , C, q_(t)=[q_(t) ¹, . . . , q_(t) ^(C)] at one particular time instance t. The elements of such a coupled HMM include:

[0021] π₀^(c)(i_(c)) = P(O₀^(c)|q_(t)^(c) = i_(c)),

[0022] the initial state probability of state i_(c) in channel c,

[0023] a_(i|j)^(c) = P(q_(t)^(c) = i_(c)|q_(t − 1) = j),

[0024] , the state transition probability from state j to state i_(c) in channel c,

[0025] b_(t)^(c)(i_(c)) = P(O_(t)^(c)|q_(t)^(c) = i_(c)),

[0026] the observation likelihood give the state i_(c) in channel c.

[0027] The parameters of the CHMMs within the same layer may be defined independent of each other. Their parameters may depend on their “parent” CHMM in the parent layer. For two-dimensional data such as images (e.g., face images), a two-layer ECHMM (described in FIG. 1) may be used to model the intrinsic features of 2D imagery data.

[0028] The CHMM(s) at the higher layer may be used to model the data along one direction (e.g., vertical). The CHMMs at the lower layer may be used to describe the data along the other (e.g., horizontal) direction. The formulation of the parameters of a two-layer ECHMM is given below. Such formulation may be extended to an ECHMM with arbitrary number of layers. In the illustrated formulation, the channels, nodes and states of the “parent” CHMM are referred to as super channels, super nodes, and super states of the ECHMM. Assume that all the CHMMs in a layer 1 have the same number of channels, denoted by C₁. In a two-layer ECHMM, there may include, but are not limited to, the following elements:

[0029] initial super state probability in super channel s = 1, …  , C₀, π_(0, 0)^(s)

[0030] super state transition probability from the sequence of states j=[j₁, . . . , j_(C) ₀ ] to state i_(s) in super channel s, a_(0, i_(s), |j)^(s)

[0031] for each super state k in the super channel s, parameters of a corresponding CHMM include:

[0032] 1. initial state probability in channel c = 1, …  , C₁, π_(1, 0)^(s, k, c)

[0033] 2. state transition probability a_(1, i_(c), |j)^(s, k, c)

[0034] 3. observation probabilities b_(t₀, t₁)^(s, k, c)(j_(c))

[0035] If a continuous mixture with Gaussian components is employed for each state, the probability of the observation vector O may then be computed as: $\begin{matrix} {{b^{s,k,c}\left( j_{c} \right)} = {\sum\limits_{m = 1}^{M_{j}^{s,k,c}}{\omega_{j,m}^{s,k,c} \times {N\left( {O,\mu_{j,m}^{s,k,c},U_{j,m}^{s,k,c}} \right)}}}} & (1) \end{matrix}$

[0036] where μ_(j, m)^(s, k, c)

[0037] and U_(j, m)^(s, k, c)

[0038] are the mean and covariance matrix of the mth mixture of the Gaussian mixture corresponding to the jth state in the cth channel, M_(j)^(s, k, c)

[0039] is the number of mixtures corresponding to the jth state of the cth channel, and ω_(j, m)^(s, k, c)

[0040] is a weight associated with the corresponding mixture.

[0041] The observation sequence for a two-dimensional image (e.g., a face image) may be formed from image blocks of size L_(x)×L_(y) that are extracted by scanning the image from left-to-right and top-to-bottom. Adjacent image blocks may be designed to have an overlap by P_(y) rows in the vertical direction and P_(x) columns in the horizontal direction. For example, with blocks size of L_(y)=8 rows and L_(x)=8 columns, a six DCT coefficients (a 3×2 low-frequency array) may be employed to create the overlap.

[0042] The resulting array of observation vectors may correspond to size of T₀×T₁, where T₀ and T₁ are the number of observation vectors extracted along the height (H) and the width (W) of the image, respectively. T₀ and T₁ may be computed accordingly as: ${T_{0} = {\frac{H - L_{y}}{L_{y} - P_{y}} + 1}},{T_{1} = {\frac{W - L_{x}}{L_{x} - P_{x}} + 1}}$

[0043] Consecutive horizontal and vertical observation vectors may also be grouped together to form observation blocks. This may be used as a way to consolidate local observations and at the same time to reduce the total amount of observations. It may not be necessary from a theoretical standpoint. In practice, data grouping may serve application needs and improve recognition efficiency.

[0044] To compute the number of observation blocks, denote the number of observation blocks in the vertical and horizontal direction be T₀ ⁰ and T₁ ⁰, respectively. Then, $T_{0}^{0} = \frac{T_{0}}{C_{0}}$

T₁ ⁰=C₀

[0045] In addition, denote the number of observation vectors in the horizontal and vertical direction within each observation block by T₀ ¹ and T₁ ¹, respectively, where $T_{0}^{1} = \frac{T_{1}}{C_{0}}$

T₁ ¹=C₁

[0046] Furthermore, denote O_(t) ₀ _(,s,t) ₁ _(,c) as the t₁th observation vector corresponding to the cth channel within the observation block (t₀, s).

[0047] For example, in the embodiment described in FIG. 1, following ECHMM model parameters are illustrated: the number of super channels in a CHMM at the parent layer is C₀=2 and the number of channels of a child CHMM is C₁=2. The number of super states for each super channel may be set according to application requirements. For example, to model a face image, the number of super states in a super channel may be set to be five and the number of states in each child’ CHMM may be set to be three. This is partially illustrated in FIG. 3.

[0048] The face image in FIG. 3 is uniformly divided to correspond to two super channels (e.g., super channel 1 and super channel 2), with each super channel having five super states. For instance, super channel 1 has super states (1,1), (1,2), (1,3), (1,4), and (1,5) and super channel 2 has equal number of super states (2,1), (2,2), (2,3), (2,4), and (2,5). Each super state may correspond to a child CHMM, which may further have two channels, each having three states.

[0049] To model a face image, the computation of ECHMM model may be performed in a bottom up fashion. Observation blocks may be derived first from a face image and then used to train the ECHMM that is designed to model the face image. To do so, the observation blocks may be used to update the model parameters of each child state as well as the transition probabilities among child states. The embedded child CHMMs that correspond to a parent CHMM are then used to compute the model parameters of each super state as well as transition probabilities.

[0050] Each state may have an associated state density function such as a Gaussian mixture with a diagonal covariance matrix. To update the parameters of a state density function, the observation blocks may be segmented first. This may be achieved through optimal state sequence segmentation for the ECHMM. The optimal state segmentation algorithm for the ECHMM 100 may be realized via different implementations. For example, to achieve optimal state segmentation, a Viterbi algorithm for ECHMM may be developed based on an extension of the Viterbi algorithm for HMM.

[0051] One of the goals of the Viterbi algorithm for ECHMM may be to determine the optimal state and super state segmentation of the observation sequence. For illustration purposes, the Viterbi algorithm for a two layer ECHMM is described. Such described algorithm may be generalized to fit any ECHMM with an arbitrary number of layers.

[0052] For each observation block (T₀, s), the Viterbi algorithm for a CHMM is first computed for a given super state i_(s) of the super channel s. The Viterbi algorithm for a CHMM is described in “A coupled HMM for Audio-Visual Speech Recognition”, IEEE International Conference on Acoustics, Speech, and Signal Processing, Vol. 2, pp. 2013-2016, May 2002, herein incorporated in its entirety.

[0053] The best super state probability for the observation block (T₀,s), given super state i_(s) of super channel s, is denoted as P_(t) ₀ _(,s)(i_(s)). Corresponding optimal state and optimal state sequence β_(t) ₀ _(,s,t) ₁ _(,c)(i_(s)) may then be computed for each super observation. FIG. 4 is a flowchart of an exemplary process, in which the Viterbi algorithm is computed for a CHMM.

[0054] The following states (i.e., δ_(0,0),ψ_(0,0)) are first initialized at 410: δ_(0, 0)(i) = Ππ_(0, 0)^(s)(i_(s)) × P_(t₀, s)(i_(s)) ψ_(0, 0)(i) = 0

[0055] States δ_(0,0),ψ_(0,0) are then recursively updated, at 420, according to the following formulation: ${\delta_{0,t_{0}}(i)} = {\max_{j}\left\{ {{\delta_{0,{t_{0} - 1}}(j)}{\prod\limits_{s}\quad {a_{0,i_{s},{{{j_{s} - 1},j_{s},{j_{s} + 1}}}}^{s} \times {P_{t_{0},s}\left( i_{s} \right)}}}} \right\}}$ ${\psi_{0,t_{0}}(i)} = {\arg \quad {\max_{j}\left\{ {{\delta_{0,{t_{0} - 1}}(j)}{\prod\limits_{s}\quad {a_{0,{i_{s}{{{j_{s} - 1},j_{s},{j_{s} + 1}}}}}^{s} \times {P_{t_{0},s}\left( i_{s} \right)}}}} \right\}}}$

[0056] The termination condition is then computed at 430,

P=max_(i){δ_(T) ₀ (i)}

{α_(T) ₀ _(,1), . . . , α_(T) ₀ _(,s)}=arg max_(i){δ_(T) ₀ (i)}

[0057] Based on the computed termination condition, backtracking operation is performed, at 440, according to the following computation:

{α_(T) ₀ _(,1), . . . , α_(T) ₀ _(,S)}=ψ_(0,t+1)(α_(T) ₀ _(+1,1), . . . , α_(T) ₀ _(+1,S))

[0058] q_(t₀, s, t₁, c)⁰ = α_(t₀, s) q_(t₀, s, t₁, c)¹ = β_(t₀, s, t₁, c)(α_(t₀, s))

[0059]FIG. 5 is a flowchart of an exemplary process, in which an ECHMM is trained based on the Viterbi algorithm for CHMM, according to embodiments of the present invention. To train an ECHMM based on given training data (e.g., a set of labeled face images), observation vectors are first extracted, at 510, from the training images. The training may be iterative. That is, each training image may be used individually and iteratively to update model parameters. To train the ECHMM 100, each training image may be first divided into image blocks (discussed earlier). For each of such image blocks, observation vectors may be computed and used to form observation blocks.

[0060] To formulate the training process, denote the membership to the rth training image in the training set as super script (r). To derive observation vectors for training purposes, training data may first be uniformly segmented, at 520, along different dimensions at the super layer. For example, the training data may be segmented along vertical dimension into S (vertical) super channels. Then within each of such super channels, training data may further be uniformly segmented, according to the number of super states in each super channel, into a plurality of uniform segments each of which corresponding to a super state (see FIG. 3). Based on the uniform segmentation at the super layer, the observation vectors within each uniform segment may then be uniformly segmented, at 530, according to the number of channels and number of states of each child CHMM.

[0061] The density function of each state (including both super states as well as child states) may be initialized before the training takes place. For example, if Gaussian mixture model is adopted for each state, Gaussian parameters for each of the mixture component may need to be initialized. Different approaches may be employed to achieve the initialization of model parameters. For example, one embodiment may be implemented where the observation sequence assigned to each channel c and state j, super state k and super channel s may be assigned to M_(j)^(s, k, c)

[0062] clusters using, for example, the K-means algorithm.

[0063] During the process of training, the original uniform segmentation is updated based on the optimal state segmentation, performed at 540 using the Viterbi algorithm described with reference to FIG. 4. To update the density function of a state, particular relevant parameters to be updated may be determined prior to the update operation. Depending on the density function used for each state, the selection may be carried out accordingly. For example, if Gaussian mixture is adopted, the selection of parameters to be updated may include both the selection of a Gaussian mixture component to update as well as the transition probabilities involved. In this case, all the model parameters associated with the selected Gaussin component may define the parameters to be updated.

[0064] The selection of a Gaussian mixture components for each state j and super state k is made at 550. One exemplary criterion to make the selection may correspond to assigning the observation O_(t₀, s, t₁, c)^((r))

[0065] from the rth training sample in the training set to the Gaussian component for which the Gaussian density function N(O_(t₀, s, t₁, c)^((r)); μ_(j, m)^(s, k, c), U_(j, m)^(s, k, c))

[0066] is the highest.

[0067] The parameters are then estimated (or updated), at 560, using, for example, an extension of the segmental k-means algorithm. In particular, the estimated transition probability a_(0, i_(s)|j)^(′  s)

[0068] between super states i_(s) and j may be obtained as follows: $a_{0,{i_{s}|j}}^{\prime \quad s} = \frac{{\sum\limits_{r}^{\quad}{\sum\limits_{t_{0}}^{\quad}\sum\limits_{t_{1}}^{\quad}}} \in_{t_{0}}^{(r)}\left( {s,i_{s},j} \right)}{{\sum\limits_{r}^{\quad}{\sum\limits_{t_{0}}^{\quad}{\sum\limits_{t_{1}}^{\quad}\sum\limits_{l}^{\quad}}}} \in_{t_{0}}^{(r)}\left( {s,i_{s},l} \right)}$

[0069] where ∈_(t₀)^((r))(s, i_(s), l)

[0070] may equal to one if a transition from state sequence 1 to the super state i_(s) in super channel s occurs for the observation block (t₀,s) and zero otherwise. The estimated transition probabilities between embedded states a_(l, i_(s)|j)^(′  s)

[0071] may then be obtained as follows, $a_{1,{i_{s}|j}}^{\prime \quad s} = \frac{\sum\limits_{r}^{\quad}{\sum\limits_{t_{0}}^{\quad}{\sum\limits_{t_{1}}^{\quad}{\theta_{t_{0},t_{1}}^{(r)}\left( {s,k,c,i_{c},l} \right)}}}}{\sum\limits_{r}^{\quad}{\sum\limits_{t_{0}}^{\quad}{\sum\limits_{t_{1}}^{\quad}{\sum\limits_{l}^{\quad}{\theta_{t_{0},t_{1}}^{(r)}\left( {s,k,c,i_{c},l} \right)}}}}}$

[0072] where θ_(t₀, t₁)^((r))(s, k, c, i_(c), l)

[0073] may be one if in the observation block (t₀,s) a transition from state j to state i_(s) in channel c occurs for the observation O_(t₀, s, t₁, c)^((r))

[0074] and zero otherwise.

[0075] The parameters of the selected Gaussian mixture component may also be accordingly updated. The involved Gaussian parameters may include a mean vector μ_(j, m)^(′  s, k, c),

[0076] a covariance matrix U_(j, m)^(′  s, k, c)

[0077] of the Gaussian mixture, and the mixture coefficients ω_(j, m)^(′  s, k, c)

[0078] for mixture m of state j in super state k. The updated Gaussian parameters may be obtained according to the following formulations: $\mu_{j,m}^{{\prime s},k,c} = \frac{\sum\limits_{r}{\sum\limits_{t_{0}}{\sum\limits_{t_{1}}{{\psi_{t_{0},t_{1}}^{(r)}\left( {s,k,c,j,m} \right)} \times O_{t_{0},s,t_{1},c}^{(r)}}}}}{\sum\limits_{r}{\sum\limits_{t_{0}}{\sum\limits_{t_{1}}{\psi_{t_{0},t_{1}}^{(r)}\left( {s,k,c,j,m} \right)}}}}$ $U_{j,m}^{{\prime s},k,c} = \frac{\sum\limits_{r}{\sum\limits_{t_{0}}{\sum\limits_{t_{1}}{{\psi_{t_{0},t_{1}}^{(r)}\left( {s,k,c,j,m} \right)} \times \left( {O_{t_{0},s,t_{1},c}^{r} - \mu_{j,m}^{{\prime s},k,c}} \right) \times \left( {O_{t_{0},s,t_{1},c}^{(r)} - \mu_{j,m}^{{\prime s},k,c}} \right)^{T}}}}}{\sum\limits_{r}{\sum\limits_{t_{0}}{\sum\limits_{t_{1}}{\psi_{t_{0},t_{1}}^{(r)}\left( {s,k,c,j,m} \right)}}}}$ $\omega_{j,m}^{{\prime s},k,c} = \frac{\sum\limits_{r}{\sum\limits_{t_{0}}{\sum\limits_{t_{1}}{\psi_{t_{0},t_{1}}^{(r)}\left( {s,k,c,j,m} \right)}}}}{\sum\limits_{r}{\sum\limits_{t_{0}}{\sum\limits_{t1}{\sum\limits_{m - 1}^{M}{\psi_{t_{0},t_{1}}^{(r)}\left( {s,k,c,j,m} \right)}}}}}$

[0079] where ψ_(t₀, t₁)^((r))(s, k, c, j, m)

[0080] may equal to one if the observation O_(t₀, s, t₁, c)^((r))

[0081] is assigned to super state k in super channel s, state j in channel c and mixture component m, and zero otherwise.

[0082] The update of parameters based on a training sample may be carried out iteratively. This may be necessary because the Viterbi algorithm may yield different optimal segmentation during each iteration before convergence. Between two consecutive iterations, if the difference of observation likelihood computed with the Viterbi algorithm is smaller than a specified threshold, determined at 570, the iteration may be terminated at 580. If the difference in likelihood remains larger than the specified threshold, the acts between 540 and 560 may be repeated. The ECHMM corresponds to a complexity of quadratic with respect to the number of states in the model. In addition, ECHMM may be efficiently implemented in a parallel fashion.

[0083]FIG. 6 depicts an exemplary architecture 600, in which ECHMM 100 is applied to pattern recognition, according to embodiments of the present invention. The architecture 600 may be configured to perform some pattern recognition tasks. For example, a pattern recognition task may include face recognition. The architecture 600 may be applied to the recognition tasks performed on data with an arbitrary dimension. For example, it may be applied to perform recognition of some medical organs imaged in four dimensional space (e.g., 3D volumetric plus time).

[0084] The architecture 600 comprises a training data collection mechanism 610, a training data storage 620, an ECHMM model training mechanism 630, a storage that holds a plurality of ECHMM models 640, and an ECHMM based recognition mechanism 660. The training data collection mechanism 610 is responsible for gathering relevant training data and for labeling such data for the purpose of training ECHMM. For example, two dimensional images containing human faces may be collected and each of such collected images may be labeled with an identity corresponding to the face in the image. Different human faces associated with a same identity (e.g., pictures taken from slightly different perspectives) may be labeled with a same identity and used to train or establish an ECHMM that models the face associated with the identity. The collected labeled training data is stored in the training data storage 620.

[0085] Using the collected training data, the ECHMM model training mechanism 630 established underlying ECHMM models (640) that are trained to capture the intrinsic characteristics of the underlying patterns presented in the training data. For example, training images with a same label (e.g., pictures of a same person) may be applied as a group to train a particular ECHMM model representing the intrinsic features of the data with that label. Such established ECHMM models may characterize distinct features of the underlying training data. For example, if training data involves human face images, an ECHMM corresponding to a person may capture the intrinsic facial features of the person that reflect characteristics such as the configuration of the eyes, the nose, and the mouth of the underlying subject. Based on such generated ECHMM models, the ECHMM based recognition mechanism 660 takes input data 650 and yields a recognition result 670.

[0086] As discussed earlier, the architecture 600 may be applied to the problem of face recognition. In this case, the training data collected may comprise images with human faces in them. Multiple images of each person to be recognized may be collected that correspond to different views of the persons. Such different views may be generated to include variations of the underlying faces. The corresponding ECHMM models derived based on such training face images may capture the distinct facial features of each individual represented by the training face images. ECHMM models trained based on training image of different views may characterize the intrinsic features of each person despite of the variations present in the training images. In this way, recognition accuracy may be improved to provide more robust recognition. To recognize human faces using such derived ECHMM models, the input data 650 may correspond a face image of a person. The ECHMM based recognition mechanism 660 then use the ECHMM models to recognize the person in the given input image.

[0087]FIG. 7 is a flowchart of an exemplary process, in which ECHMM is applied to a pattern recognition problem, according to embodiments of the present invention. Training data is first collected at 710. Based on gathered training data, ECHMM models are derived at 720. To perform recognition using the derived ECHMM models, input data is received at 730. Recognition is then performed, at 740, on the input data using the ECHMM models derived from the collected training data. The recognition may be performed by applying the observation sequence to the given the parameters of each of the ECHMM models. The recognition result may be obtained by selecting the ECHMM that yields a highest matching score with the observation sequence and that represents a face of a particular person.

[0088] While the invention has been described with reference to the certain illustrated embodiments, the words that have been used herein are words of description, rather than words of limitation. Changes may be made, within the purview of the appended claims, without departing from the scope and spirit of the invention in its aspects. Although the invention has been described herein with reference to particular structures, acts, and materials, the invention is not to be limited to the particulars disclosed, but rather can be embodied in a wide variety of forms, some of which may be quite different from those of the disclosed embodiments, and extends to all equivalent structures, acts, and, materials, such as are within the scope of the appended claims. 

What is claimed is:
 1. A method for generating an embedded couple hidden Markov model, comprising: obtaining data of two or more dimensions, the data having a label representing a known pattern; segmenting the data uniformly into one or more super segments; assigning each super segment to a super state of a super channel in a coupled hidden Markov model at a super layer of an embedded coupled hidden Markov model, the super layer having at least one super channel; segmenting each super segment into lower layer segments, each of which corresponds to a lower layer state of a lower channel of a lower layer coupled hidden Markov model associated with one of the super states; optimally segmenting the data at the lower layer to produce an optimal segmentation; updating one or more parameters of at least one model associated with at least one lower layer state based on the optimal segmentation; and updating one or more parameters of at least one model associated with at least one super state based on the at least one model associated with the at least one lower layer state to generate an embedded coupled hidden Markov model modeling the known pattern.
 2. The method according to claim 1, wherein each super state embeds a coupled hidden Markov model at the lower layer.
 3. The method acording to claim 2, wherein the coupled hidden Markov model at the lower layer embedded by a super state comprises a plurality of lower layer channels, each of which has a plurality of lower layer states; the coupled hidden Markov model at the super layer comprises a plurality of super channels, each of which has a plurality of super states.
 4. The method according to claim 3, wherein each of the at least one model associated with a state includes at least one of: a probability density function, characterized by at least one parameter, modeling the state in a feature space; and a transition probability matrix modeling transitions from the state to other states within a coupled hidden Markov model.
 5. The method according to claim 4, wherein the probability density function includes a Gaussian mixture density function.
 6. The method according to claim 5, wherein the optimally segmenting includes using a Viterbi algorithm.
 7. The method according to claim 6, further comprising: computing observation vectors from the data prior to said optimally segmenting; and selecting the one or more parameters of models associated with the at least one lower layer state based on the observation vectors and the optimal segmentation prior to updating at the lower layer.
 8. The method according to claim 7, wherein said optimally segmenting and updating one or more parameters at the lower layer are iterated until a pre-determined criterion is satisfied.
 9. The method according to claim 8, wherein the pre-determined criterion includes a condition that difference in the updated models between two consecutive the updating one or more parameters is below a threshold.
 10. A method, comprising: deriving at least one embedded coupled hidden Markov model based on one or more training samples, each of which having a label representing a known pattern, each of the at least one embedded coupled hidden Markov model modeling a corresponding known pattern; receiving input data of two or more dimensions, the input data being indicative of a pattern; recognizing the pattern in the input data with respect to the known patterns based on the at least one embedded coupled hidden Markov model.
 11. The method according to claim 10, wherein said deriving comprises: collecting the training samples; for each of the training samples that have a same label representing a same known pattern: segmenting data in each of the training samples uniformly into one or more super segments; assigning each super segment to a super state of a super channel in a coupled hidden Markov model at a super layer of an embedded coupled hidden Markov model, the super layer having at least one super channel; segmenting each super segment into lower layer segments, each of which corresponds to a lower layer state of a lower channel of a lower layer coupled hidden Markov model associated with one of the super states; optimally segmenting the data at the lower layer to produce an optimal segmentation; updating one or more parameters of at least one model associated with at least one lower layer state based on the optimal segmentation to produce updated models associated with the at least one lower layer state; and updating one or more parameters of at least one model associated with at least one super state based on the updated models associated with the at least one lower layer state to generate an updated embedded coupled hidden Markov model modeling the same known pattern.
 12. The method according to claim 11, wherein the input data includes a two-dimensional image containing an imagery of a human face.
 13. The method according to claim 12, wherein said recognizing the pattern in the input data includes recognizing the identity of a human face appearing in a two dimensional image.
 14. A system, comprising: at least one coupled hidden Markov model at a lower layer, each of the at least one coupled hidden Markov model having a plurality of channels, each of which having a plurality of lower layer states; a coupled hidden Markov model at a super layer with a plurality of super channels, each of the super channels having a plurality of super states, each of which embeds one of the at least one coupled hidden Markov model at the lower layer.
 15. The system according to claim 14, wherein each of the lower layer states has at least one associated model: each of the super states has at least one associated model.
 16. The system according to claim 15, wherein the at least one associated model are characterized by one or more parameters.
 17. The system according to claim 16, wherein a model associated with a super state is established based on the model parameters of the lower layer states of the coupled hidden Markov model that is associated with the super state.
 18. A system, comprising: an embedded coupled hidden Markov model training mechanism to train at least one embedded coupled hidden markov model using a plurality of training samples; an embedded coupled hidden Markov model based recognition mechanism to recognize a pattern from input data, producing a recognition result.
 19. The system according to claim 18, wherein the input data includes a two-dimensional image.
 20. The system according to claim 19, wherein to recognize a pattern includes to recognize a human face from a two-dimensional image.
 21. The system acording to claim 20, further comprising: a training data collection mechanism to collect the training data, producing labeled data used by the embedded coupled hidden Markov model training mechanism to derive the at least one embedded coupled hidden Markov model.
 22. An article comprising a storage medium having stored thereon instructions that, when executed by a machine, result in the following: obtaining data of two or more dimensions, the data having a label representing a known pattern; segmenting the data uniformly into one or more super segments; assigning each super segment to a super state of a super channel in a coupled hidden Markov model at a super layer of an embedded coupled hidden Markov model, the super layer having at least one super channel; segmenting each super segment into lower layer segments, each of which corresponds to a lower layer state of a lower channel of a lower layer coupled hidden Markov model associated with one of the super states; optimally segmenting the data at the lower layer to produce an optimal segmentation; updating one or more parameters of at least one model associated with at least one lower layer state based on the optimal segmentation; and updating one or more parameters of at least one model associated with at least one super state based on the at least one model associated with the at least one lower layer state to generate an embedded coupled Markov model modeling the known pattern.
 23. The article comprising a storage medium having stored thereon instructions according to claim 22, wherein each of the at least one super state embeds a coupled hidden Markov model at the lower layer.
 24. The article comprising a storage medium having stored thereon instructions acording to claim 23, wherein the coupled hidden Markov model at the lower layer embedded by a super state comprises a plurality of lower layer channels, each which having a plurality of lower layer states; the coupled hidden Markov model at the super layer comprises a plurality of super channels, each of which having a plurality of super state.
 25. The article comprising a storage medium having stored thereon instructions according to claim 24, wherein each of the at least one model associated with a state includes at least one of: a probability density function, characterized by at least one parameters, modeling the state in a feature space; and a transition probability matrix modeling transitions from the state to other states within a coupled hidden Markov model.
 26. The article comprising a storage medium having stored thereon instructions according to claim 25, wherein the performing optimal segmentation includes performing optimal segmentation using Viterbi algorithm.
 27. An article comprising a storage medium having stored thereon instructions that, when executed by a machine, result in the following: deriving at least one embedded coupled hidden Markov model, each of which modeling a known pattern, using one or more training samples, each of which having a label representing a known pattern, each of the at least one embedded hidden Markov model modeling a corresponding known pattern. receiving input data of two or more dimensions, the input data containing data indicative of a pattern; recognizing the pattern from the input data with respect to the known patterns using the at least one embedded coupled hidden Markov model.
 28. The article comprising a storage medium having stored thereon instructions according to claim 27, wherein said deriving comprises: collecting the training samples; for each of the training samples that have a same label representing a same known pattern: segmenting data in each of the training samples uniformly into one or more super segments; assigning each super segment to a super state of a super channel in a coupled hidden Markov model at a super layer of an embedded coupled hidden Markov model, the super layer having at least one super channel; segmenting each super segment into lower layer segments, each of which corresponds to a lower layer state of a lower channel of a lower layer coupled hidden Markov model associated with one of the super states; optimally segmenting the data at the lower layer to produce an optimal segmentation; updating one or more parameters of at least one model associated with at least one lower layer state based on the optimal segmentation to produce updated models associated with the at least one lower layer state; and updating one or more parameters of at least one model associated with at least one super state based on the updated models associated with the at least one lower layer state to generate an updated embedded coupled hidden Markov model modeling the same known pattern.
 29. The article comprising a storage medium having stored thereon instructions according to claim 28, wherein the input data includes a two-dimensional image containing an imagery of a human face; and said recognizing the pattern includes recognizing the identity of a human face appearing in a two-dimensional image. 